package com.luoc.spring.validateChain;

/**
 * @author luoc
 * @version 1.0
 * @date 2021/3/17 16:29
 * @since 1.0
 * 责任链模式（Chain of Responsibility Pattern）为请求创建了一个接收者对象的链。
 * 这种模式给予请求的类型，对请求的发送者和接收者进行解耦。这种类型的设计模式属于行为型模式。
 * 在这种模式中，通常每个接收者都包含对另一个接收者的引用。
 * 如果一个对象不能处理该请求，那么它会把相同的请求传给下一个接收者，依此类推
 *
 * 举例:
 * 对前端传入的对象进行相应的校验，根据业务的需求进行设置校验
 *
 */
public class test {

    public static ValidateChain getChain(){
        ValidateChain email =  new ValidateEmail();
        ValidateChain mobile =  new ValidateMobile();
        ValidateChain postCode = new ValidatePostcode();

        email.setNextValidation(mobile).setNextValidation(postCode);
        return email;
    }


    public static void main(String[] args) {
        ValidateChain validateChain = getChain();
        validateChain.validateMsg("123");
    }
}
